<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>变量</title>
    <script>
        function f1(){
            var num;   // 声明变量
            num = 1;    // 为变量赋值
            console.log(num);
        }

        /*
         *  js变量特点
         *  1.弱类型
         *  2.以ES6作为分割线
         *      使用var定义的变量没有作用域的概念
         *      ES6中引入了let的用法,使用let定义的变量存在作用域
         */
        function f2(){
            var name = "admin"; // 声明的同时进行赋值
            console.log(typeof name);
            name = 1;
            console.log(typeof name);
            name = false;
            console.log(typeof name);
            name = new Date();
            console.log(typeof name);
        }
        function f3(){
            for(var i = 0; i < 10; i++){

            }
            console.log(i);
        }
        function f4(){
            for(let i = 0; i < 10; i++){

            }
            console.log(i);
        }
    </script>
</head>
<body>
<button onclick="f1()">变量的定义方式一</button><br>
<button onclick="f2()">变量的定义方式二</button><br>
<button onclick="f3()">var作用域测试</button><br>
<button onclick="f4()">let作用域测试</button><br>
</body>
</html>